package com.zy.core.data.jpa.support.entity.page;

/**
 * 分页接口,所有分页都应基于此接口
 */
public interface Paginable {

    /**
     * 总记录数
     *
     * @return
     */
    public long getTotal();

    /**
     * 总页数
     *
     * @return
     */
    public long getTotalPage();

    /**
     * 每页记录数
     *
     * @return
     */
    public int getPageSize();

    /**
     * 当前页号
     *
     * @return
     */
    public int getPageNo();

    /**
     * 是否第一页
     *
     * @return
     */
    public boolean isFirstPage();

    /**
     * 是否最后一页
     *
     * @return
     */
    public boolean isLastPage();

    /**
     * 返回下页的页号
     */
    public int getNextPage();

    /**
     * 返回上页的页号
     */
    public int getPrePage();
}
